// import 'package:common_utils/common_utils.dart';
// import 'package:flutter/material.dart';
// import 'package:flutter/services.dart';
// import 'package:intl/intl.dart';
// import 'package:flutter_syt/api/api.dart';
// import 'package:flutter_syt/application.dart';
// import 'package:flutter_syt/domain/login/login_password_page.dart';
// import 'package:flutter_syt/domain/login/widgets/login_input_decorator.dart';
// import 'package:flutter_syt/domain/login/widgets/login_protocol.dart';
// import 'package:flutter_syt/generated/l10n.dart';
// import 'package:flutter_syt/global_common.dart';
// import 'package:flutter_syt/global_easy_loading.dart';
// import 'package:flutter_syt/routes.all.dart';
// import 'package:flutter_syt/utils/click_utils.dart';
// import 'package:yyy_route_annotation/yyy_route_annotation.dart';
//
// class LoginPasswordEmail extends StatefulWidget {
//   @override
//   LoginPasswordEmailState createState() => LoginPasswordEmailState();
// }
//
// class LoginPasswordEmailState extends State<LoginPasswordEmail>
//     with AutomaticKeepAliveClientMixin {
//   final _formKey = GlobalKey<FormState>();
//
//   FocusNode phoneFocusNode = FocusNode();
//   FocusNode pwdFocusNode = FocusNode();
//
//   String _email = '';
//   late String _password;
//
//   bool _agree = false;
//   FocusNode emailFocusNode = FocusNode();
//   bool pwsEmailobscureText = true;
//   TextEditingController _textEditingController = TextEditingController();
//   @override
//   bool get wantKeepAlive => true;
//   @override
//   Widget build(BuildContext context) {
//     super.build(context);
//     return Form(
//       key: _formKey,
//       child: Container(
//         padding: EdgeInsets.symmetric(vertical: 0, horizontal: 30),
//         // color: Colors.red,
//         child: Column(
//           children: [
//             BlurRectWidget(
//               TextFormField(
//                 enableInteractiveSelection: false,
//                 maxLength: 32,
//                 inputFormatters: [
//                   FilteringTextInputFormatter.deny(appContext.emojiRegexp)
//                 ],
//                 autofocus: false,
//                 controller: _textEditingController,
//                 focusNode: emailFocusNode,
//                 style: TextStyle(
//                   color: Colors.white,
//                   fontSize: 16,
//                   height: 1.5,
//                   fontWeight: FontWeight.bold,
//                 ),
//                 cursorColor: Colors.white,
//                 decoration: LoginInputDecoration(
//                     hintText: S.of(context).enter_mobile_email),
//                 onSaved: (val) {
//                   if (val != null) {
//                     _email = val;
//                     appContext.storage.setString("login_email", _email);
//                   }
//                 },
//                 keyboardType: TextInputType.text,
//                 autocorrect: false,
//               ),
//             ),
//             SizedBox(height: 24),
//             BlurRectWidget(
//                 TextFormField(
//                   enableInteractiveSelection: false,
//                   maxLength: 16,
//                   autofocus: false,
//                   inputFormatters: [
//                     FilteringTextInputFormatter.deny(appContext.emojiRegexp)
//                   ],
//                   focusNode: pwdFocusNode,
//                   style: TextStyle(
//                     color: Colors.white,
//                     fontSize: 16,
//                     height: 1.5,
//                     fontWeight: FontWeight.bold,
//                   ),
//                   cursorColor: Colors.white,
//                   decoration: LoginInputDecoration(
//                       suffixIcon: GestureDetector(
//                         onTap: ClickUtils.debounce(() {
//                           if (mounted) {
//                             setState(() {
//                               pwsEmailobscureText = !pwsEmailobscureText;
//                             });
//                           }
//                         }),
//                         child: Container(
//                             width: 20,
//                             child: Center(
//                               child: Image.asset(
//                                 pwsEmailobscureText
//                                     ? 'assets/images/comment_obscureText_open.png'
//                                     : 'assets/images/comment_obscureText_close.png',
//                                 width: 20,
//                                 color: Colors.white,
//                                 height: pwsEmailobscureText ? 20 : 14,
//                               ),
//                             )),
//                       ),
//                       hintText: S.of(context).enter_password),
//                   // validator: (val) => val.length < 6 ? '请输入6位数字密码' : null,
//                   validator: (val) {
//                     if (val != null) {
//                       if (val.length < 8 || val.length > 16) {
//                         customShowToast(S.of(context).Password_8_16);
//                         return '';
//                       }
//                     }
//
//                     return null;
//                   },
//                   onSaved: (val) => _password = val!,
//                   obscureText: pwsEmailobscureText,
//                   autocorrect: false,
//                   keyboardType: TextInputType.visiblePassword,
//                 ),
//                 padding: 0),
//             Container(
//               margin: const EdgeInsets.only(top: 4),
//               width: double.infinity,
//               child: Theme(
//                 // Create a unique theme with `ThemeData`
//                 data: ThemeData(
//                     splashColor: Colors.yellow,
//                     textButtonTheme: TextButtonThemeData(
//                       style: TextButton.styleFrom(
//                         // primary: Colors.white,
//                         padding: EdgeInsets.symmetric(
//                           horizontal: 0,
//                         ),
//                       ),
//                     )),
//                 child: Row(
//                   mainAxisAlignment: MainAxisAlignment.spaceBetween,
//                   children: [
//                     TextButton(
//                       onPressed: ClickUtils.debounce(() {
//                         RouteManager.push(
//                           context,
//                           RoutMapping.loginByCode(),
//                         );
//                       }),
//                       child: Text(S.of(context).log_in_with_code),
//                     ),
//                     Visibility(
//                         visible: true,
//                         child: TextButton(
//                           onPressed: ClickUtils.debounce(() {
//                             // customShowToast(S().standy_by);
//                             RouteManager.push(
//                               context,
//                               RoutMapping.forgetPasswordPage(1),
//                             );
//                           }),
//                           child: Text(S.of(context).Forgot_password),
//                         )),
//                   ],
//                 ),
//               ),
//             ),
//             SizedBox(
//               height: 20,
//             ),
//             LoginProtocol(onChange: (value) {
//               setState(() {
//                 _agree = value;
//               });
//             }),
//             Container(
//               margin: const EdgeInsets.only(top: 30, bottom: 16),
//               width: double.infinity,
//               child: ElevatedButton(
//                   child: Text(
//                     S.of(context).log_in,
//                     style: TextStyle(fontWeight: FontWeight.bold),
//                   ),
//                   onPressed: ClickUtils.debounce(
//                     () {
//                       _submit();
//                     },
//                   )),
//             ),
//             Container(
//               child: TextButton(
//                 style: TextButton.styleFrom(
//                   // primary: Colors.white,
//                 ),
//                 onPressed: ClickUtils.debounce(() {
//                   RouteManager.push(
//                     context,
//                     RoutMapping.register(),
//                   );
//                 }),
//                 child: Text(
//                   S.of(context).sign_up,
//                   style: TextStyle(fontWeight: FontWeight.bold),
//                 ),
//               ),
//             ),
//           ],
//         ),
//       ),
//     );
//   }
//
//   Future _login() async {
//     await API.shared.login.emailSecretLogin(_email, _password);
//     appContext.storage.getString("storyLocal");
//     await API.shared.user.updateUserInfo('lang',
//         appContext.storage.getString("storyLocal") ?? Intl.getCurrentLocale());
//   }
//
//   Future _submit() async {
//     if (!_agree) {
//       customShowToast(S.of(context).privacy_policy_consent_t);
//       return;
//     }
//     final form = _formKey.currentState;
//     form?.save();
//     if (form!.validate()) {
//       form.save();
//       if (!RegexUtil.isEmail(_email)) {
//         customShowToast(S.of(context).enter_valid_email);
//         return;
//       }
//       await loading(_login, text: S.of(context).on_login);
//       customShowToast(S.of(context).login_success);
//       try {
//         GlobalData.bindPush();
//         GlobalData.getIndexSetting();
//       } catch (e) {}
//       if (GlobalData.pageFrom.isEmpty) {
//         Navigator.of(context).pop();
//       } else {
//         Navigator.of(context).popUntil((route) {
//           var name = route.settings.name;
//           if (name != null) {
//             return name.startsWith(GlobalData.pageFrom);
//           }
//           return route.isFirst;
//         });
//       }
//     }
//   }
//
//   @override
//   void initState() {
//     super.initState();
//     String cacheEmail = appContext.storage.getString("login_email") ?? '';
//     if (cacheEmail.isNotEmpty) {
//       _textEditingController.text = cacheEmail;
//     }
//   }
//
//   @override
//   void dispose() {
//     super.dispose();
//     emailFocusNode.dispose();
//     _textEditingController.dispose();
//     phoneFocusNode.dispose();
//     pwdFocusNode.dispose();
//   }
//
//   @override
//   void didUpdateWidget(LoginPasswordEmail oldWidget) {
//     super.didUpdateWidget(oldWidget);
//   }
//
//   @override
//   void didChangeDependencies() {
//     super.didChangeDependencies();
//   }
// }
